import axios from '@/request/http'
import { commonOutDTO, pageCommonInputDTO, pageCommonOutDTO } from '@/api/common.d'
import {
  RyDeleteInputDTO,
  RyGetInputDTO,
  RyGetOutputDTO,
  RyQueryParam,
  RyQueryResult,
  LoginInputDTO,
  DlmmResetInputDTO,
  AllrysjyQueryResult,
  FkjglyrysjyQueryResult,
  RyqyztUpdateInputDTO,
  RySaveInputDTO,
  RyUploadInputDTO,
  RyUploadOutputDTO,
} from './rygl-dto'

export default class ryglService {
  /**
   * 删除人员
   */
  static deleteRy(data: RyDeleteInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/rygl/deleteRy', data)
  }
  /**
   * 查询人员
   */
  static getRy(data: RyGetInputDTO): Promise<commonOutDTO<RyGetOutputDTO>> {
    return axios.post('/api/rygl/getRy', data)
  }
  /**
   * 分页查询人员
   */
  static queryRy(
    data: pageCommonInputDTO<RyQueryParam>,
  ): Promise<commonOutDTO<pageCommonOutDTO<RyQueryResult[]>>> {
    return axios.post('/api/rygl/queryRy', data)
  }
  /**
   * 登录
   */
  static login(data: LoginInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/rygl/login', data)
  }
  /**
   * 重置密码
   */
  static resetDlmm(data: DlmmResetInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/rygl/resetDlmm', data)
  }
  /**
   * 查询所有人员数据源
   */
  static queryAllrysjy(): Promise<commonOutDTO<AllrysjyQueryResult[]>> {
    return axios.post('/api/rygl/queryAllrysjy')
  }
  /**
   * 查询非空间管理员人员数据源
   */
  static queryFkjglyrysjy(): Promise<commonOutDTO<FkjglyrysjyQueryResult[]>> {
    return axios.post('/api/rygl/queryFkjglyrysjy')
  }
  /**
   * 修改人员启用状态
   */
  static updateRyqyzt(data: RyqyztUpdateInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/rygl/updateRyqyzt', data)
  }
  /**
   * 新增人员
   */
  static saveRy(data: RySaveInputDTO): Promise<commonOutDTO<null>> {
    return axios.post('/api/rygl/saveRy', data)
  }
  /**
   * 上传Excel批量新增人员
   */
  static uploadRy(data: RyUploadInputDTO): Promise<commonOutDTO<RyUploadOutputDTO[]>> {
    return axios.post('/api/rygl/uploadRy', data)
  }
}
